﻿namespace zijian666.WorkScheduler;

/// <summary>
/// 表示一个工作服务。
/// </summary>
public interface IWorkService : IServiceProvider, IEquatable<IServiceProvider>, IDisposable
{
    /// <summary>
    /// 开始服务。
    /// </summary>
    Task Start(CancellationToken token = default);

    /// <summary>
    /// 停止服务。
    /// </summary>
    Task Stop(CancellationToken token = default);

    /// <summary>
    /// 手动刷新工作服务中的数据。
    /// </summary>
    void Refresh();
}